<?php

include ("libreria_php/modelo/clase_principal.php") ;

$objeto = new principal ;
$objeto->conectar_mysql() ;

extract($_POST) ;

/*  **************************************************************************************/
/* **************************  Facturas de Compra Inicial  *******************************/
/*  **************************************************************************************/

if ($tipo_factura == 'compra')
{

			$descripcion = 'descripcion' ;
			$cantidad = 'cantidad' ;
			$id_compra = 'id_compra' ;
			$cantidad_compra = 'cantidad_compra' ;
			$precio_compra = 'precio_compra' ;
			$nombre_productos = 'nombre_productos' ;
			$precio_costo = 'precio_costo' ;
			$descripcion_compra = 'descripcion_compra' ;
			$id_grupo_producto = 'id_grupo_producto' ;
			$minimo = 'minimo' ;
			$maximo = 'maximo' ;

						for ($i = 0; $i < $cantidad_registros; $i++)
			{

						$producto = "INSERT INTO  producto (
producto.stock,
producto.minimo,
producto.maximo,
producto.nombre_producto,
producto.precio_venta,
producto.precio_costo,
producto.descripcion,
producto.embalaje,
producto.id_grupo_producto) VALUES 
(
'".$_POST[$cantidad.$i]."',
'".$_POST[$minimo.$i]."',
'".$_POST[$maximo.$i]."',
'".$_POST[$nombre_productos.$i]."', 
'".$_POST[$precio_costo.$i]."', 
'".$_POST[$precio_costo.$i]."', 
'".$_POST[$descripcion.$i]."', 
'', 
'".$_POST[$id_grupo_producto.$i]."'
);
" ;

						$producto_consulta = $objeto->ejecutar($producto) ;
						$objeto->auditoria($producto) ;
						echo $producto.'<br>'.'<br>' ;
			}


			$sql = "SET AUTOCOMMIT=0;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;

			$sql = "BEGIN;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;
			
			


			$maestro = "INSERT INTO maestro_factura_compra (
factura,			
digito_factura,
numero_factura,
fecha_factura,
fecha_vencimiento,
estado_factura,
observacion,
descuento,
modalidad_cancelacion,
total_factura,
subtotal_factura,
iva_factura,
tipo_factura,
id_tercero
) 
VALUES (
'$digito_factura - $numero_factura',
'$digito_factura', 
'$numero_factura',  
'$fecha_factura',
'$fecha_vencimiento', 
'$estado_factura', 
'$observacion',  
'$descuento',
'$modo_pago', 
'$total', 
'$subtotal', 
'$iva', 
'$tipo_factura', 
'$id_tercero');" ;

			
			echo $maestro.'<br>'.'<br>' ;
			$maestro_consulta = $objeto->ejecutar($maestro) or die('Error maestro compra: '.mysql_error()) ;
			$objeto->auditoria($maestro) ;
			

			for ($i = 0; $i < $cantidad_registros; $i++)
			{

						$detalle = "
INSERT INTO  detalle_factura_compra (
factura,   
descripcion,  
cantidad,
valor, 
id_producto) VALUES 
('$digito_factura - $numero_factura',
'".$_POST[$descripcion.$i]."', 
'".$_POST[$cantidad.$i]."', 
'-".$_POST[$precio_costo.$i]."', 
'".$_POST[$id_compra.$i]."'
);
" ;

						echo $detalle.'<br>'.'<br>' ;
						$detalle_consulta = $objeto->ejecutar($detalle) or die('Error detalle compra: '.mysql_error()) ;

			}
			if ($maestro_consulta and $detalle_consulta)
			{

						echo 'SE EJECUTO FACTURA COMPRA e inventario inicial' ;
						$sql = "COMMIT" ;
						$resultado = $objeto->ejecutar($sql) ;
			}
			else
			{

						echo '' ;
						echo 'NO SE EJECUTA FACTURA COMPRA e inventario inicial' ;
						$sql = "ROLLBACK;" ;
						$resultado = $objeto->ejecutar($sql) ;

			}

			if (!$maestro_consulta)
			{
						echo '<br>'.'error encabezado'.'<br>' ;
			}
			if (!$producto_consulta)
			{
						echo '<br>'.'error producto'.'<br>' ;
			}
			if (!$detalle_consulta)
			{
						echo '<br>'.'error detalle'.'<br>' ;
			}
}

/*  ****************************************************************************************/
/* **************************  Factura devolucion compra  *******************************/
/*  ****************************************************************************************/

if ($tipo_factura == 'devolucion_compra')
{
	
			$descripcion = 'descripcion' ;
			$cantidad = 'cantidad' ;
			$id_compra = 'id_compra' ;

			$cantidad_compra = 'cantidad_compra' ;
			$nombre_productos = 'nombre_productos' ;
			$precio_costo = 'precio_costo' ;
			$descripcion_compra = 'descripcion_compra' ;
			$id_familia = 'id_familia' ;


			$sql = "SET AUTOCOMMIT=0;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;

			$sql = "BEGIN;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;
			
			

			$maestro = "INSERT INTO maestro_factura_devolucion_compra (
factura,
digito_factura,
numero_factura,
fecha_factura,
fecha_vencimiento,
estado_factura,
observacion,
descuento,
modalidad_cancelacion,
total_factura,
subtotal_factura,
iva_factura,
tipo_factura,
id_tercero
) 
VALUES (
'$digito_factura - $numero_factura', 
'$digito_factura', 
'$numero_factura',  
'$fecha_factura',
'$fecha_vencimiento', 
'$estado_factura', 
'$observacion',  
'$descuento',
'$modo_pago', 
'$total', 
'$subtotal', 
'$iva', 
'$tipo_factura', 
'$id_tercero')" ;

			echo $maestro."<br>"."<br>"."<br>" ;
			$maestro_consulta = $objeto->ejecutar($maestro) or die('Error maestro dev compra existente: '.mysql_error()) ;
			


/*			  for ($i = 0; $i < $cantidad_registros; $i++)
			  {
  
				  $producto = "update  producto  set producto.precio_costo = '".$_POST[$precio_costo.$i]."'
				  where
				  producto.id =  '".$_POST[$nombre_productos.$i]."' ; " ;
  
						  echo $producto."<br>"."<br>"."<br>" ;
						  $producto_consulta = $objeto->ejecutar($producto) or die('Error detalle  dev compra existente: '.mysql_error()) ;
						  //echo $producto;
			  }*/



					for ($i = 0; $i < $cantidad_registros; $i++)
			{
						$detalle = "
INSERT INTO  detalle_factura_devolucion_compra (
factura,   
descripcion,  
cantidad, 
valor, 
id_producto) VALUES 
('$digito_factura - $numero_factura',
'".$_POST[$descripcion.$i]."', 
'-".$_POST[$cantidad.$i]."',
'".$_POST[$precio_costo.$i]."', 
'".$_POST[$nombre_productos.$i]."'
);
" ;

						echo $detalle."<br>"."<br>"."<br>" ;
						$detalle_consulta = $objeto->ejecutar($detalle) or die('Error detalle compra existente: '.mysql_error()) ;

						

			}
			if ($maestro_consulta and $detalle_consulta)
			{

						$sql = "COMMIT" ;
						$resultado = $objeto->ejecutar($sql) ;
						$objeto->auditoria('FACTURA DE COMPRA EXISTENTE') ;
			}
			else
			{

						echo 'NO SE EJECUTA FACTURA COMPRA' ;
						$sql = "ROLLBACK;" ;
						$resultado = $objeto->ejecutar($sql) ;
						$objeto->auditoria('NO SE EJECUTA FACTURA COMPRA') ;
			}

			if (!$maestro_consulta)
			{
						echo '<br>'.'error encabezado'.'<br>' ;
			}
			if (!$producto_consulta)
			{
						echo '<br>'.'error producto'.'<br>' ;
			}
			if (!$detalle_consulta)
			{
						echo '<br>'.'error detalle'.'<br>' ;
			}
}


/*  ****************************************************************************************/
/* **************************  Facturas de Compra Existente  *******************************/
/*  ****************************************************************************************/

if ($tipo_factura == 'compra_existente')
{

			$descripcion = 'descripcion' ;
			$cantidad = 'cantidad' ;
			$id_compra = 'id_compra' ;

			$cantidad_compra = 'cantidad_compra' ;
			$nombre_productos = 'nombre_productos' ;
			$precio_costo = 'precio_costo' ;
			$descripcion_compra = 'descripcion_compra' ;
			$id_familia = 'id_familia' ;


			$sql = "SET AUTOCOMMIT=0;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;

			$sql = "BEGIN;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;
			
			

			$maestro = "INSERT INTO maestro_factura_compra (
factura,
digito_factura,
numero_factura,
fecha_factura,
fecha_vencimiento,
estado_factura,
observacion,
descuento,
modalidad_cancelacion,
total_factura,
subtotal_factura,
iva_factura,
tipo_factura,
id_tercero
) 
VALUES (
'$digito_factura - $numero_factura', 
'$digito_factura', 
'$numero_factura',  
'$fecha_factura',
'$fecha_vencimiento', 
'$estado_factura', 
'$observacion',  
'$descuento',
'$modo_pago', 
'$total', 
'$subtotal', 
'$iva', 
'$tipo_factura', 
'$id_tercero')" ;

			echo $maestro."<br>"."<br>"."<br>" ;
			$maestro_consulta = $objeto->ejecutar($maestro) or die('Error detalle compra existente: '.mysql_error()) ;

					for ($i = 0; $i < $cantidad_registros; $i++)
			{
						$detalle = "
INSERT INTO  detalle_factura_compra (
factura,   
descripcion,  
cantidad, 
valor, 
id_producto) VALUES 
('$digito_factura - $numero_factura',
'".$_POST[$descripcion.$i]."', 
'".$_POST[$cantidad.$i]."',
'-".$_POST[$precio_costo.$i]."', 
'".$_POST[$nombre_productos.$i]."'
);
" ;

							echo $detalle."<br>"."<br>"."<br>" ;
						$detalle_consulta = $objeto->ejecutar($detalle) or die('Error detalle compra existente: '.mysql_error()) ;

			}
			if ($maestro_consulta and $detalle_consulta)
			{

						$sql = "COMMIT" ;
						$resultado = $objeto->ejecutar($sql) ;
						$objeto->auditoria('FACTURA DE COMPRA EXISTENTE') ;
			}
			else
			{

						echo 'NO SE EJECUTA FACTURA COMPRA' ;
						$sql = "ROLLBACK;" ;
						$resultado = $objeto->ejecutar($sql) ;
						$objeto->auditoria('NO SE EJECUTA FACTURA COMPRA') ;
			}

			if (!$maestro_consulta)
			{
						echo '<br>'.'error encabezado'.'<br>' ;
			}
			if (!$detalle_consulta)
			{
						echo '<br>'.'error detalle'.'<br>' ;
			}
}

/*  ****************************************************************************************/
/*  ****************************** Facturas DEvolucion de Venta  **************************************/
/*  ****************************************************************************************/

if ($tipo_factura == 'devolucion_venta')
{
	
	
	
			$descripcion = 'descripcion' ;
			$cantidad = 'cantidad' ;
			$id_compra = 'id_compra' ;

			$cantidad_compra = 'cantidad_compra' ;
			$nombre_productos = 'nombre_productos' ;
			$precio_costo = 'precio_costo' ;
			$descripcion_compra = 'descripcion_compra' ;
			$id_familia = 'id_familia' ;



	$sql = "SET AUTOCOMMIT=0;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;

			$sql = "BEGIN;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;

			$maestro = "INSERT INTO maestro_factura_devolucion_venta (
factura,
digito_factura,
numero_factura,
fecha_factura,
fecha_vencimiento,
estado_factura,
observacion,
descuento,
modalidad_cancelacion,
total_factura,
subtotal_factura,
iva_factura,
tipo_factura,
id_tercero
) 
VALUES (
'$digito_factura - $numero_factura', 
'$digito_factura', 
'$numero_factura',  
'$fecha_factura',
'$fecha_vencimiento', 
'$estado_factura', 
'$observacion',  
'$descuento',
'$modo_pago', 
'$total', 
'$subtotal', 
'$iva', 
'$tipo_factura', 
'$id_tercero')
;" ;

			echo $maestro.'<br> <br> <br>' ;
			$maestro_consulta = $objeto->ejecutar($maestro) or die('Error encabezado venta: '.mysql_error()) ;

	for ($i = 0; $i < $cantidad_registros; $i++)
			{

						//$total_producto = isset($total_producto.$i]) ? ($total_producto.$i) : '';

						$descripcion = 'descripcion' ;
						$cantidad = 'cantidad' ;
						$id = 'id' ;
						$precio_venta = 'precio_venta' ;

						$detalle = "
INSERT INTO  detalle_factura_devolucion_venta (
factura,   
descripcion,  
cantidad, 
valor, 
id_producto) VALUES 
('$digito_factura - $numero_factura',
'".$_POST[$descripcion.$i]."', 
'".$_POST[$cantidad.$i]."', 
'-".$_POST[$precio_venta.$i]."', 
'".$_POST[$id.$i]."');
" ;

						echo $detalle.'<br>'.'<br>' ;
						$detalle_consulta = $objeto->ejecutar($detalle) or die('Error detalle venta: '.mysql_error()) ;

			
	
		}
			
			if ($maestro_consulta and $detalle_consulta)
			{

						$respuesta = 'SE EJECUTO FACTURA DEVOLUCION VENTA' ;
						echo $respuesta ;
						$sql = "COMMIT" ;
						$resultado = $objeto->ejecutar($sql) ;
						$objeto->auditoria($respuesta) ;

			}
			else
			{

						echo '' ;
						echo 'NO SE EJECUTA FACTURA VENTA' ;
						$sql = "ROLLBACK;" ;
						$resultado = $objeto->ejecutar($sql) ;
						$objeto->auditoria('NO SE EJECUTO FACTURA VENTA') ;
			}

			if (!$maestro_consulta)
			{
						echo '<br>'.'error encabezado'.'<br>'.$maestro_consulta ;
			}
			if (!$detalle_consulta)
			{
						echo '<br>'.'error detalle'.'<br>'.$detalle_consulta ;
			}

}

/*  ****************************************************************************************/
/*  ****************************** Facturas de Venta  **************************************/
/*  ****************************************************************************************/

if ($tipo_factura == 'venta')
{



			$descripcion = 'descripcion' ;
			$cantidad = 'cantidad' ;
			$id_compra = 'id_compra' ;

			$cantidad_compra = 'cantidad_compra' ;
			$nombre_productos = 'nombre_productos' ;
			$precio_costo = 'precio_costo' ;
			$descripcion_compra = 'descripcion_compra' ;
			$id_familia = 'id_familia' ;



			$sql = "SET AUTOCOMMIT=0;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;

			$sql = "BEGIN;" ;
			$resultado_consulta = $objeto->ejecutar($sql) ;

			$maestro = "INSERT INTO maestro_factura_venta (
factura,
digito_factura,
numero_factura,
fecha_factura,
fecha_vencimiento,
estado_factura,
observacion,
descuento,
modalidad_cancelacion,
total_factura,
subtotal_factura,
iva_factura,
tipo_factura,
id_tercero
) 
VALUES (
'$digito_factura - $numero_factura', 
'$digito_factura', 
'$numero_factura',  
'$fecha_factura',
'$fecha_vencimiento', 
'$estado_factura', 
'$observacion',  
'$descuento',
'$modo_pago', 
'$total', 
'$subtotal', 
'$iva', 
'$tipo_factura', 
'$id_tercero')
;" ;

			echo $maestro.'<br> <br> <br>' ;
			$maestro_consulta = $objeto->ejecutar($maestro) or die('Error encabezado venta: '.mysql_error()) ;

		for ($i = 0; $i < $cantidad_registros; $i++)
			{

						//$total_producto = isset($total_producto.$i]) ? ($total_producto.$i) : '';

						$descripcion = 'descripcion' ;
						$cantidad = 'cantidad' ;
						$id = 'id' ;
						$precio_venta = 'precio_venta' ;

						$detalle = "
INSERT INTO  detalle_factura_venta (
factura,   
descripcion,  
cantidad, 
valor, 
id_producto) VALUES 
('$digito_factura - $numero_factura',
'".$_POST[$descripcion.$i]."', 
'-".$_POST[$cantidad.$i]."', 
'".$_POST[$precio_venta.$i]."', 
'".$_POST[$id.$i]."');
" ;

						echo $detalle.'<br>'.'<br>' ;
						$detalle_consulta = $objeto->ejecutar($detalle) or die('Error detalle venta: '.mysql_error()) ;

			}
		
			
			if ($maestro_consulta and $detalle_consulta)
			{

						$respuesta = 'SE EJECUTO FACTURA VENTA' ;
						echo $respuesta ;
						$sql = "COMMIT" ;
						$resultado = $objeto->ejecutar($sql) ;
						$objeto->auditoria($respuesta) ;

			}
			else
			{

						echo '' ;
						echo 'NO SE EJECUTA FACTURA VENTA' ;
						$sql = "ROLLBACK;" ;
						$resultado = $objeto->ejecutar($sql) ;
						$objeto->auditoria('NO SE EJECUTO FACTURA VENTA') ;
			}

			if (!$maestro_consulta)
			{
						echo '<br>'.'error encabezado'.'<br>'.$maestro_consulta ;
			}
			if (!$detalle_consulta)
			{
						echo '<br>'.'error detalle'.'<br>'.$detalle_consulta ;
			}

}

?>